home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 6 / Sonderheft_6-96.iso / demo-versionen / stormc_v1.05-demo / stormc install-script < prev    next >
Text File  |  1996-11-03  |  12KB  |  436 lines

  1. ; $VER: StormC V1.05 Install Version 1.05 (11.3.96)
  2. ; Installations-Script - na, wofür wohl?
  3. ; (c) 1995/96 HAAGE & PARTNER Computer GmbH
  4.  
  5. (complete 0)
  6.  
  7. ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
  8. ; Versionen.
  9.  
  10. (set stcpp-version "1.05")
  11. (set stcpp-date "(18 Feb 96)")
  12.  
  13. ;====================================================================
  14. ; Initialisierungen
  15.  
  16.  
  17. (set @default-dest "")
  18.  
  19. (set os-version (/ (getversion) 65536))
  20. (set os-13 (< os-version 36))
  21. (set os-20 (>= os-version 36))
  22. (set os-21 (>= os-version 38))
  23.  
  24. (set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
  25.  
  26. ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
  27.  
  28. ;(set run-lha                "run RAM:Lhex x -a ")
  29. ;(set run-free                "run C/StormFree")
  30.  
  31. ; Die Pfadnamen der einzelnen Quell-Dateien.
  32.  
  33. (set #binsource             (tackon (pathonly @icon) "StormSYS"))    ; Hier stehen die Ausführbaren Programme
  34. (set #includesource         (tackon (pathonly @icon) "INCLUDE"))     ; Hier stehen die Includes
  35. (set #envsource            (tackon (pathonly @icon) "ENV"))            ; Die Voreinstellungen
  36. (set #libsource            (tackon (pathonly @icon) "LIB"))            ; Hier stehen die Bibliotheken
  37. (set #samplesource        (tackon (pathonly @icon) "Examples"))    ; Hier stehen die Demo-Sourcen
  38. (set #manualsource        (tackon (pathonly @icon) "MANUAL"))        ; Hier steht die Dokumentation
  39. (set #toolssource       (tackon (pathonly @icon) "TOOLS"))        ; Hier stehen die Tools
  40. (set source-Liesmich     (tackon (pathonly @icon) "Liesmich"))        ; Die Liesmich Datei 
  41. (set source-ikon        (tackon (pathonly @icon) "StormCPP.info"))    ; Das Programm-Piktogramm
  42.  
  43.  
  44. ;(set !auswahlhilfe
  45. ;    (cat "\nAuf Ihrer Festplatte befindet sich bereits eine Version "
  46. ;        "der Datei die installiert werden soll. \n\n"
  47. ;        "Wählen Sie \"Ja\", wenn Sie die alte Datei mit der neuen "
  48. ;        "überschreiben möchten. Anderenfalls wählen Sie bitte \"Nein\"!\n"))
  49.  
  50. (set #prp-copy-samples
  51.     "Kopiere die C und C++ Beispielprogramme")
  52. (set #hlp-copy-bin
  53.     "Anhand des Handbuches und der Beispiele können Sie sich sehr schnell in StormC einarbeiten")
  54. (set #prp-copy-env
  55.     "Kopiere die StormC Default-Piktogramme")
  56. (set #hlp-copy-env
  57.     "Die Piktogramme werden von der Projektverwaltung und vom Editor benötigt")
  58. (set #prp-copy-includes
  59.     "Kopiere die C++ Systemincludes")
  60. (set #hlp-copy-includes
  61.     "Die Includes werden vom Compiler-Preprozessor benötigt")
  62. (set #prp-copy-libs
  63.     "Kopiere die Linker-Bibliotheken")
  64. (set #hlp-copy-libs
  65.     "Die Bibliotheken werden vom Linker benötigt")
  66. (set #prp-copy-manual
  67.     "Kopiere die Dokumentation")
  68. (set #hlp-copy-manual
  69.     "Eine Amiga-Guide-Datei zu StormC")
  70. (set #prp-copy-bin
  71.     "Kopiere die Ausführbaren Dateien des Compilersystems")
  72. (set #hlp-copy-bin
  73.     "Bei der allerersten Installation sollten Sie auch alle Dateien kopieren")
  74. (set #prp-copy-tools
  75.     "Kopiere die Screen-Tools")
  76. (set #hlp-copy-tools
  77.     "Der Pubscreen-Manager zu StormC")
  78.     
  79. ; Die Dateigrößen
  80.  
  81. (set size-stormcpp            54000)
  82. (set size-stormc                424000)
  83. (set size-stormed                312000)
  84. (set size-stormshell              416000)
  85. (set size-stormrun            381000)
  86. (set size-stormasm            36000)
  87. (set size-stormpics            50000)
  88. (set size-stormlex            50000)
  89. (set size-libs                    320000)
  90. (set size-inlcudes            950000)
  91. (set size-demos                200000)
  92.  
  93. (set size-komplett    ( + size-stormrun size-stormasm size-stormcpp size-stormc size-stormed size-stormshell size-stormpics size-stormlex size-libs size-inlcudes size-demos))
  94.  
  95. ; ----------------------------- Prozeduren ------------------------------
  96.  
  97. (Procedure Make_Folder
  98.     (
  99.     (set folder (tackon folder "StormC"))
  100.     (if (= (exists folder) 0)
  101.        (
  102.        (makedir folder (infos))
  103.        )
  104.     ))
  105. )
  106.  
  107. ;=====================================================================================
  108. ; Beginn der Installation
  109. ;=====================================================================================
  110.  
  111. ; Eine kleine Einleitung, gefolgt vom Startbild des Installers.
  112.  
  113. (set act-user-level @user-level)
  114. (user 1)
  115.  
  116. (message (cat    "\nWillkommen bei der Installation der \n\n\"StormC-Demoversion "
  117.                      stcpp-version " vom "stcpp-date "\"!\n\n"
  118.                     "Dieses Skript kopiert die verschiedenen Dateien, "
  119.                     "aus denen sich das Compilersystem zusammensetzt, "
  120.                     "auf Ihre Festplatte.\n"))
  121.  
  122. (user act-user-level)
  123. (welcome)
  124.  
  125. (complete 5)
  126.  
  127. (set act-user-level @user-level)
  128. (user 1)
  129.  
  130.  
  131. ;    Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
  132.  
  133. (set folder "WORK:StormC")
  134.  
  135. (if (exists "StormC:" (noreq))
  136.     (
  137.         (message (cat    "\nAuf Ihrer Festplatte befindet sich bereits eine\n"
  138.                         "Installation von StormC! Wählen Sie bitte die über-\n"
  139.                         "geordnete Schublade oder das jeweilige Laufwerk an,\n"
  140.                         "wenn Sie ihr altes System aktualisieren möchten!"))
  141.  
  142.     (set folder (getassign "STORMC"))
  143.     )
  144. )
  145.  
  146. (set cmpstr (getassign "STORMC"))
  147.  
  148. (user act-user-level)
  149.  
  150. (if (= @user-level 0)
  151.     (
  152.     (user 1)
  153.     (message (cat    "Im Einsteiger-Modus wird davon ausgegangen, daß Storm C auf "
  154.                         "einer Festplatte installiert wird, auf der noch mindestens "
  155.                         "ca. 5 MByte freier Speicherplatz verfügbar sind. Sie werden "
  156.                         "dazu im nächsten Fenster nach dem Namen der gewünschten "
  157.                         "Schublade gefragt.\n\n"
  158.                         "Alle weiteren Angaben werden dann vom Installations-Skript "
  159.                         "möglichst genau an Ihr System angepaßt."))))
  160.  
  161. (set ok 0)
  162. (while (not ok)
  163.     (set folder
  164.         (askdir
  165.             (prompt (cat "\n"
  166.                              "Auswahl des Pfades für die Compiler-Installation.\n"
  167.                              "Eine Schublade mit dem Namen StormC wird automatisch erzeugt!"))
  168.             (help (cat    "    Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  169.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  170.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  171.                             "gekennzeichneten Einträge auswählen.\n"
  172.                             "    Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
  173.                             "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
  174.                             "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
  175.                             "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
  176.                             "\n\n"
  177.                             "Storm C kann nur in eine Schublade nicht aber auf eine "
  178.                             "Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
  179.                             "für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
  180.                             @askdir-help))
  181.             (default folder)
  182.             (disk)
  183.         )
  184.     )
  185.  
  186.    (Make_Folder)    ; // Automatisch neues Verzeichnis anlegen!
  187.  
  188.     ; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
  189.     ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
  190.     ; kann die Auswahl-Schleife beendet werden.
  191.     (if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
  192.         (message (cat    "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
  193.                             "eine gültige Schublade!\n\n"
  194.                             "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  195.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  196.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  197.                             "gekennzeichneten Einträge auswählen.\n"
  198.                             "Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neue "
  199.                                "Schublade erzeugen. Diese neue Schublade\nwird auf der Partition "
  200.                                "angelegt, die Sie soeben betrachten."))
  201.         ;else
  202.         (
  203.             (set freediskspace (getdiskspace folder))    ; Der freie Speicher auf diesem Medium
  204.  
  205.             (if (< freediskspace size-komplett)
  206.                 (
  207.                 (user 1)
  208.                 (message (cat    "\nAuf der ausgewählten Festplattenpartition "
  209.                                             "steht nicht genügend freier Speicher für die "
  210.                                             "komplette Installation des Compilersystems zur Verfügung.\n\n"
  211.                                             "Freier Speicher " freediskspace "!\n"
  212.                                             "Benötigter Speicher " size-komplett "!\n\n"
  213.                                             "Bitte wählen Sie eine andere Partition, auf "
  214.                                             "der entsprechende Kapazitäten vorhanden sind!"))                
  215.                 )
  216.             ;else
  217.             (set ok 1)
  218.             )
  219.         )
  220.     )
  221. )
  222.  
  223. (makeassign "STORMC")
  224.  
  225. (user act-user-level)
  226.  
  227. (set @default-dest folder)    ; Die Zuweisung ist sehr wichtig!
  228.  
  229. (set destbin    (tackon folder "StormSYS"))
  230. (if                                          ; Compiler-Verzeichnis erzeugen
  231.     (= (exists destbin) 0)
  232.     (makedir destbin (infos))
  233. )
  234.  
  235. (set destdemo    (tackon folder "Examples"))
  236. (if                                          ; Demo-Verzeichnis erzeugen
  237.     (= (exists destdemo) 0)
  238.     (makedir destdemo (infos))
  239. )
  240. (set destinclude (tackon folder "Include"))
  241. (if                                          ; Includes-Verzeichnis erzeugen
  242.     (= (exists destinclude) 0)
  243.     (makedir destinclude)
  244. )
  245.  
  246. (set destlib    (tackon folder "Lib"))
  247. (if                                          ; Libraries-Verzeichnis erzeugen
  248.     (= (exists destlib) 0)
  249.     (makedir destlib)
  250. )
  251.  
  252. (set destmanual    (tackon folder "Manual"))
  253. (if                                          ; Dokumentations-Verzeichnis erzeugen
  254.     (= (exists destmanual) 0)
  255.     (makedir destmanual (infos))
  256. )
  257.  
  258. (set desttools    (tackon folder "Tools"))
  259.  
  260. (if                                          ; Tools-Verzeichnis erzeugen
  261.  
  262.     (= (exists desttools) 0)
  263.  
  264.     (makedir desttools (infos))
  265.  
  266. )
  267.  
  268.  
  269. (complete 5)
  270.  
  271. ; Liesmich Datei auf Festplatte kopieren!
  272.  
  273. (copyfiles
  274.     (source source-Liesmich)
  275.     (dest folder)
  276.     (infos)
  277. )
  278.  
  279. (complete 8)
  280.  
  281. (set morerunpath "run C/More Liesmich")
  282.  
  283. (run morerunpath)    ; Liesmich laden
  284.  
  285. (complete 10)
  286.  
  287. (set destinfo    (tackon folder "StormCPP.info"))
  288. (if                                          ; Projekt-Ikon erzeugen
  289.     (= (exists destinfo) 0)
  290.     (copyfiles
  291.         (source source-ikon)
  292.         (dest folder)
  293.     )
  294. )
  295.  
  296. (complete 15)
  297.  
  298. (copyfiles                                            ; Beispiele kopieren
  299.     (prompt #prp-copy-samples)
  300.     (help #hlp-copy-samples)
  301.     (source #samplesource)
  302.     (dest destdemo)
  303.     (all)
  304.     (confirm)
  305. )
  306.  
  307. (complete 20)
  308.  
  309. (copyfiles                                            ; Settings kopieren
  310.     (prompt #prp-copy-env)
  311.     (help #hlp-copy-env)
  312.     (source #envsource)
  313.     (dest "ENVARC:")
  314.     (all)
  315.     (confirm)
  316. )
  317.  
  318. (complete 22)
  319.  
  320. (copyfiles                                            ; Settings kopieren
  321.     (prompt #prp-copy-env)
  322.     (help #hlp-copy-env)
  323.     (source #envsource)
  324.     (dest "ENV:")
  325.     (all)
  326.     (confirm)
  327. )
  328.  
  329. (complete 25)
  330.  
  331. (copyfiles                                            ; Compiler kopieren
  332.     (prompt #prp-copy-bin)
  333.     (help #hlp-copy-bin)
  334.     (source #binsource)
  335.     (dest destbin)
  336.     (all)
  337.     (confirm)
  338. )
  339.  
  340. (complete 40)
  341.  
  342. (copyfiles                                            ; Includes kopieren
  343.     (prompt #prp-copy-includes)
  344.     (help #hlp-copy-includes)
  345.     (source #includesource)
  346.     (dest destinclude)
  347.     (all)
  348.     (confirm)
  349. )
  350.  
  351. (complete 60)
  352.  
  353. (copyfiles                                            ; Libs kopieren
  354.     (prompt #prp-copy-libs)
  355.     (help #hlp-copy-libs)
  356.     (source #libsource)
  357.     (dest destlib)
  358.     (all)
  359.     (confirm)
  360. )
  361.  
  362. (complete 80)
  363.  
  364. (copyfiles                                            ; Manual kopieren
  365.     (prompt #prp-copy-manual)
  366.     (help #hlp-copy-manual)
  367.     (source #manualsource)
  368.     (dest destmanual)
  369.     (all)
  370.     (confirm)
  371. )
  372.  
  373. (complete 90)
  374.  
  375.  
  376. (copyfiles                                            ; Tools kopieren
  377.     (prompt #prp-copy-tools)
  378.     (help #hlp-copy-tools)
  379.     (source #toolssource)
  380.     (dest desttools)
  381.     (all)
  382.     (confirm)
  383. )
  384.  
  385.  
  386. (complete 95)
  387.  
  388.  
  389. ; ------- STARTUP ÄNDERN
  390.  
  391. (set command1 (cat  "ASSIGN STORMC: " folder ""))
  392.  
  393. (set command1.txt
  394.     (cat 
  395.          "\n\n\nUm mit StromC richtig arbeiten zu "
  396.       "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
  397.          command1
  398.     )
  399. )
  400.  
  401. (startup "StormC"
  402.     (prompt command1.txt)
  403.     (help #help-startup)
  404.     (command command1)
  405. )
  406.  
  407. (makeassign "STORMC")
  408. (makeassign "STORMC" folder)
  409.  
  410. ;(set FREERROR (run "C/StormFree"))
  411.  
  412. ;(if  ( <> FREERROR 0)
  413. ;    (
  414. ;    (delete "STORMC:BIN/StormCPP")
  415. ;    (delete "STORMC:BIN/StormCPP.info")
  416. ;    (delete "STORMC:StormCPP.info")
  417. ;    (message
  418. ;        "\n\n\n\n"
  419. ;        "Fehler bei der Installation.\n"
  420. ;        "Die Installation war fehlerhaft!\n\n"
  421. ;        "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  422. ;        " und, falls die Dateien bereits vorhanden sind diese nicht "
  423. ;        " Lösch- oder Schreibgeschützt sind.")
  424. ;    )
  425. ;)
  426.  
  427. (complete 100)
  428.  
  429. ; ------- FERTIG
  430.  
  431. (message (cat 
  432.     "\nInstallation des StormC Compilers beendet.\n"
  433.    "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
  434.    "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
  435.    "\n\nWir wünschen ihnen viel Erfolg bei der Lösung Ihrer Programmieraufgaben!")
  436. )